package com.udata.client;

import com.google.gwt.event.shared.SimpleEventBus;
import com.google.gwt.place.shared.PlaceController;
import com.google.web.bindery.event.shared.EventBus;
import com.udata.client.view.DashboardView;
import com.udata.client.view.DocumentView;
import com.udata.client.view.TiebaExpView;
import com.udata.client.view.UserView;
import com.udata.client.view.impl.DashboardViewImpl;
import com.udata.client.view.impl.DocumentViewImpl;
import com.udata.client.view.impl.TiebaExpViewImpl;
import com.udata.client.view.impl.UserRegisterViewImpl;
import com.udata.client.view.impl.UserViewImpl;

public class ClientFactoryImpl implements ClientFactory {
  private final EventBus        eventBus         = new SimpleEventBus();
  private final PlaceController placeController  = new PlaceController(eventBus);
  private final TiebaExpView    tiebaExpView     = new TiebaExpViewImpl();
  private final UserView        userView         = new UserViewImpl();

  private final UserView        userRegisterView = new UserRegisterViewImpl();

  private final DashboardView   dashboardView    = new DashboardViewImpl();

  private final DocumentView    documentView = new DocumentViewImpl();

  @Override
  public EventBus getEventBus() {
    return eventBus;
  }

  @Override
  public PlaceController getPlaceController() {
    return placeController;
  }

  @Override
  public TiebaExpView getTiebaExpView() {
    return tiebaExpView;
  }

  @Override
  public UserView getUserView() {
    return userView;
  }

  @Override
  public DashboardView getDashboardView() {
    return dashboardView;
  }

  @Override
  public UserView getUserRegisterView() {
    return userRegisterView;
  }

  @Override
  public DocumentView getDocumentView() {

    return documentView;
  }

}
